Predicting the outcome of a chaotic system using lyapunov exponents

ABSTRACT

Systems and methods for predicting the outcome of chaotic systems are described. An example of a prediction system disclosed herein includes, in general, functional elements to vary the initial conditions of a chaotic system and calculate a plurality of possible trajectories for the chaotic system. The prediction system also includes calculating a Lyapunov exponent for each of the plurality of possible trajectories and selecting the trajectory with the smallest Lyapunov exponent as the most likely trajectory to occur.

RELATED APPLICATIONS

The present application is related to co-pending U.S. No. ______ (U.S. Army Docket No. ARL-00-38) titled “DETERMINING LYAPONOV EXPONENTS” and filed on even date.

GOVERNMENT INTEREST

The invention described herein may be manufactured, used, and licensed by or for the United States Government.

BACKGROUND OF THE INVENTION

1. Technical Field

The invention relates to predicting the outcome of a chaotic system. More particularly, the invention relates to predicting outcome of chaotic systems using Lyapunov exponents.

2. Description of the Related Art

Chaotic non-linear systems are known. Examples of chaotic systems include, but are not limited to, the weather, the stock market and fluid flow. By its nature, it is difficult to calculate the outcome of a chaotic system. A slight change in initial conditions or an intervening event can result in a completely different outcome or trajectory. In a weather system, a slight change in the initial conditions of temperatures and pressures at various locations results in a completely different weather trajectory. As a result, a long range forecast may be difficult or impossible to make. One way that chaotic systems can be defined is by calculating a Lyapunov exponent, which is a measure of the rate of divergence of a trajectory with time.

It is well known that the significant digits of variables defining a chaotic system are rapidly lost during calculation and the initially valid digits in the chaotic system become meaningless in a short number of iterations. The number of valid digits n(t) decreases linearly with time. The maximal Lyapunov exponent L is equal to—dn/dt and can be calculated to determine the number of digits which are lost per unit time. Traditional Lyapunov exponent algorithms, such as those calculated by the Benettin technique, can be applied only to a system of differential equations. A different algorithm is used for discrete maps and until now no algorithm existed for any other mathematical process.

SUMMARY OF THE INVENTION

The present invention provides a system and method for predicting the outcome of a chaotic system. A prediction system includes means for varying the initial conditions of a chaotic system and means for calculating a plurality of possible trajectories for the chaotic system. The prediction system also includes means for calculating a Lyapunov exponent for each of the plurality of possible trajectories and means for selecting the trajectory with the smallest Lyapunov exponent as the most likely trajectory to occur.

A method of predicting the likelihood of an outcome in a chaotic system is also provided. In one embodiment, the method generally includes varying initial conditions of a mathematical model of a chaotic system and calculating multiple trajectories of the chaotic system model based on a number of uncertainty factors. The method includes calculating a Lyapunov exponent for each of the multiple trajectories and comparing the Lyapunov exponents from each of the multiple trajectories to determine the trajectory with the smallest Lyapunov exponent, whereby the trajectory with the smallest Lyapunov exponent is indicative of the likelihood of the outcome of the chaotic system.

A computer program disclosed herein is stored on a computer readable medium for execution by a computer. The computer program includes logic elements that vary the initial conditions of a chaotic system and calculate a plurality of possible trajectories for the chaotic system. The computer program also includes logic configured to calculate a Lyapunov exponent for each of the plurality of possible trajectories to determine the trajectory with the smallest Lyapunov exponent and to select the trajectory with the smallest Lyapunov exponent to represent a prediction of an outcome of the chaotic system.

BRIEF DESCRIPTION OF THE DRAWINGS

Many aspects of the disclosure can be better understood with reference to the following drawings.

FIG. 1 is a graph of a period-3 window of a logistic map.

FIG. 2 is a histogram of an iteration count for the logistic map of FIG. 1.

FIG. 3 is a graph showing the convergence of the maximum Lyapunov exponent over time.

FIG. 4 is a graph of a Lyapunov exponent for the logistic map of FIG. 1.

FIG. 5 is a graph of a normalized distribution of local Lyapunov exponents for the logistic map of FIG. 1.

FIG. 6 is a graph of two super cycles for the logistic map of FIG. 1.

FIG. 7 is a graph of the maximum Lyapunov exponent for a two-dimensional map and analytic curve.

FIG. 8 is a graph of the maximum Lyapunov exponent for the Lorenz equations averaged over nine exponents.

FIG. 9 is a graph of a first normalized distribution of local Lyapunov exponents for the Lorenz system.

FIG. 10 is a graph of a second normalized distribution of local Lyapunov exponents for the Lorenz system.

FIG. 11 is a high level block diagram of a general purpose computer suitable for use in performing functions of the software described herein.

DETAILED DESCRIPTION OF THE INVENTION

Systems and methods for predicting the outcome of chaotic systems are provided. Suggested chaotic systems may include, but are not limited, weather systems, fluid flow systems, traffic patterns, the stock market and other dynamic systems that are sensitive to initial conditions. An accurate prediction of the chaotic systems can be made using the systems and methods of the invention and can be calculated using less computational complexity than previously known systems. With regard to weather systems, also referred to as weather maps, the invention can accurately and quickly forecast or predict the weather patterns in various locations. With regard to fluid flow systems, the invention can predict liquid flow through a conduit or around a structure, such as a dam, spillway, watercraft and so forth. Fluid flow systems may also include air flow systems, such as those which may be used to design an airplane or other aircraft. With regard to traffic systems, the invention can be used to predict patterns of vehicular traffic on a road or network of roads.

The invention can predict outcome of such chaotic systems by comparing single-precision calculations with double-precision calculations to determine the maximal Lyapunov exponent. The resulting maximal Lyapunov exponent is found in less than one-tenth of the computational time required by traditional methods. Furthermore, this algorithm can be applied to both maps, such as weather forecast maps, and systems of differential equations. This algorithm is easily coded because it is free of Jacobians, tangent vectors, Gramm-Schmidt procedures, overflow errors, and trial-and-error parameters. The algorithm is applicable to any numerical time evolution procedure and can be applied where no existing routine is available, e.g. recursion relations or to the successive terms of a series, as often exist in quantum mechanical calculations. It is shown herein that the maximum Lyapunov exponent can be experimentally measured by comparing two data runs of the chaotic system at different levels of precision.

Another technique involving the products of the ratios of successive differentials is also used to find maximal Lyapunov exponents in systems of differential equations. Lyapunov exponent plots and local Lyapunov exponent distributions are given for the logistic map and the Lorenz equations. Restricted error regions are discussed where the Lyapunov exponent is greater than zero, but the error magnitude is restricted to a fraction of the size of the available phase space. An empirical formula is also provided which can quickly calculate the r∞ point of a period p window.

A trajectory having a large Lyapunov exponent, large rate of divergence, will be less likely to occur than one having a small Lyapunov exponent, small rate of divergence. The analysis of chaotic systems using the Lyapunov exponents can also be used to determine the most likely trajectory. By defining a range of uncertainties of a chaotic system, the initial conditions of the system can be varied within their initial uncertainties to calculate several possible trajectories. The Lyapunov exponents from each of these trajectories are then be calculated. The trajectory having the smallest Lyapunov exponent is the most likely to occur.

In the alternative, the time rate of loss of the number of digits, dn/dt, can be determined by comparing single-precision and double-precision calculations of the system's trajectories to produce maximal Lyapunov exponents more quickly and easily than previous techniques. The invention can be applied, without alteration, to both maps, such as weather maps, and systems of differential equations, and can be applied to any time evolution system. For example it can be applied to recursion relations, the Gramm-Schmidt re-orthogonalization procedure and the like. It has been used to determine Lyapunov exponents in the chaotic behavior found in a first number of partial sums, e.g. the first 50 partial sums, of a series describing the electromagnetic scattering from a pair of overlapping spheres. This lost digits technique can be used to test for divergence between two calculations of differing precision, which describes the time evolution in quantum mechanical systems.

The invention also provides a computer program that uses the source code of the non-linear system as a subroutine. The input to the computer program includes the initial conditions and the relative uncertainties of these conditions. For instance, in a weather program, the input includes the temperature and pressure at various locations and uncertainties associated with these input values. The main program would calculate various trajectories and Lyapunov exponents of these trajectories. It would then determine the smallest exponent and assign this as the most likely outcome.

The system of the invention for calculating Lyapunov exponents using single precision and double precision values for predicting the outcome of chaotic systems can be implemented in software, hardware, or a combination thereof. In the currently contemplated Best Mode, the system is implemented in software as an executable computer program and is executed by a general purpose digital computer or other suitable digital processing device.

The software may be stored in memory in any suitable format and may include one or more separate programs. The software includes an ordered listing of executable instructions for implementing logical functions. The software may be a computer program, source program, executable program, object code, script or any other entity that can include a set of instructions to be performed.

When the system of the invention for calculating Lyapunov exponents is implemented in software, the system can be stored on any computer readable medium for use by or in connection with any computer related system or method. A computer readable medium is any electronic, magnetic, electromagnetic, optical, infrared or semiconductor system, apparatus, device, or propagation medium or other suitable physical device or means that can contain or store a computer program for use by or in connection with a computer related system or method.

Alternatively, the system for calculating Lyapunov exponents may be configured using physical or electrical components, modules, and/or processing means for performing various functions. For example, these functional components, modules and processing means are capable of varying the initial conditions of a chaotic system model and then calculating trajectories for the chaotic system. Among other things, they are further capable of calculating a Lyapunov exponent for each trajectory and selecting a trajectory with the smallest Lyapunov exponent to determine the most likely predictable outcome of the chaotic system.

Lyapunov Exponent

The jth iteration of a map f(X) is written as

X _(j) =f ^(j)(X _(o))  (1)

where X_(o) is the initial value. When a small error ε_(n) is found to grow exponentially, the system is said to be chaotic. The error in the jth iteration is found using the chain rule as

$\begin{matrix} {{ɛ_{j} = {ɛ_{o}{\prod\limits_{i = 0}^{j - 1}\; {{f^{\prime}\left( X_{i} \right)}}}}},} & (2) \\ {{ɛ_{j} = {ɛ_{o}e^{Lj}}},} & (3) \end{matrix}$

where Lyapunov exponent L is defined as

$\begin{matrix} {L \equiv {\lim\limits_{j\rightarrow\infty}{\frac{1}{j}{\sum\limits_{i = 0}^{j - 1}{\ln {{{f^{\prime}\left( X_{i} \right)}}.}}}}}} & (4) \end{matrix}$

Equation 3 can be written as

$\begin{matrix} {{L(j)} = {\frac{1}{j}{{\ln \left( {ɛ_{j}/ɛ_{o}} \right)}.}}} & (5) \end{matrix}$

The ratio |ε_(j)/ε_(o)| gives the total error magnification and its log gives the number of digits needed to express the error growth. The number of lost digits is given by the number of digits in the error. From Equation 2,

ε_(j+1) =f′εj  (6)

This means the current error is magnified by the local slope to produce the next error, and the local error increases or decreases when the local slope is greater than one (or less than one). The Lyapunov exponent is the result of these error magnifications. A pictorial representation of this is shown in the cited Schuster reference on page 25. A range in the abscissa is magnified by the slope to produce a range in the function ƒ(x). It is stressed that the local Lyapunov exponent given by the accumulated error for any finite length trajectory segment is due to the products of local slopes that the segment encounters. This is the cause of the variation in the local exponents and produces the distributions discussed later. This also causes the noise seen in maximal Lyapunov exponent plots. Equation 4 can be rewritten by isolating f′ from Equation 6:

$\begin{matrix} {{L(j)} = {\frac{1}{j}{\sum\limits_{i = 0}^{j - 1}{\ln {{{ɛ_{i + 1}/ɛ_{i}}}.}}}}} & (7) \end{matrix}$

For numerical calculations this is more rapidly computed from

$\begin{matrix} {{L(j)} = {\frac{1}{j}{{\ln \left( {\prod\limits_{i = 1}^{j}\; {ɛ_{i}/ɛ_{i - 1}}} \right)}.}}} & (8) \end{matrix}$

Also note that

$\begin{matrix} {{ɛ_{i}/ɛ_{o}} = {\prod\limits_{i = 1}^{j}\; {ɛ_{i}/{ɛ_{i - 1}.}}}} & (9) \end{matrix}$

In the past, the use of these equations has been restricted to one-dimensional maps. When used with the lost digits technique, they can be applied to q-dimensional systems, as discussed later. Determining L(t) from the Rate of Change of Valid Digits

The equations presented herein are valid for discreet maps, systems of differential equations, or any other time evolution process. We can switch from using a discrete iteration count (j) to a more general time evolution (t). It can be demonstrated that Equations 5, 7 and 8 are also valid in any time evolution including recursion relations, or q-dimensional systems of differential equations, when the error ε is replaced with |X_(d)-X_(s)|.

It is seen that the rate of change of valid digits dn/dt can be determined by continually comparing single-precision calculations with double-precision calculations of the system trajectory, in which X_(s)(t) and X_(d)(t) represent the system's trajectory at a single-precision level and a double-precision level, respectively.

The single precision, lower precision, may be defined by a variable using a first number of bits, e.g. 16 bits. The double-precision, higher precision, may be defined by a variable using a second and higher number of bits, e.g. 32 bits. In addition, a quad precision including 64 bits may be used. Other precisions may be used in accordance with the capabilities of available processing equipment.

The different precisions of the system trajectory are thus computed with W_(s), and W_(d), number of significant digits, where W_(d)>W_(s). Initially the two solutions are assigned the same value. The numerical representation error results in a difference in the last bits.

X _(s)(t=0)=X _(d)(t=0)=X ₀.  (10)

Initially, the W_(s), most significant digits of X_(d)(t) agree with the corresponding digits of X_(s)(t), and the number of valid digits is n(t=0)=W_(s). The two copies of the system are then independently integrated or iterated with respect to time. At any later time only the n(t) most significant digits of X_(s)(t) match the corresponding digits of X_(d)(t). For chaotic systems with exponential error growth, n(t) decreases linearly in time. Since X_(d)(t) is always known to a greater precision than X_(s)(t), the error in X_(s)(t) can be written as

ε(t)=|X _(s)(t)−X _(d)(t)|,  (11)

and the fractional error is

$\begin{matrix} {{\varphi (t)} = {{\frac{{X_{s}(t)} - {X_{d}(t)}}{X_{d}(t)}}.}} & (12) \end{matrix}$

The Lyapunov exponent can be calculated from Equation 5 with ε₀=|X_(s)(0)−X_(d)(0)|, when the initial values are set so as to avoid a zero in the denominator:

X _(s)(0)=X _(d)(0)[1+2·10^(−Ws)]  (13)

Note that computers can more accurately represent numbers that are integral powers of two, and that they treat X_(s)(0) as a binary number.

To see that the Lyapunov exponent can be viewed as the rate of change in the number of valid digits, consider the case of the logistic map, X_(j+1)=rX_(j)(1−X_(j)), where all X_(j)'s are in the range 0 . . . 1. With ε_(o)=10^((−Ws+1)), Equation 5 is approximated for the case of the logistic map, as

$\begin{matrix} {{L(j)} = {{{\ln (10)}\frac{{Ws} + 1 + {\log_{10}ɛ_{j}}}{j}} = {\frac{m_{j}}{j}{{\ln (10)}.}}}} & (14) \end{matrix}$

The non-integral number of digits needed to write down the error is log (ε) so this numerator m(t) represents the number of decimal digits that have been lost (

$\begin{matrix} {{m(t)} = {\log {{{\frac{{X_{s}(t)} - {X_{d}(t)}}{X_{d}(t)}10^{Ws}}}.}}} & (16) \end{matrix}$

also represents the number of decimal digits lost). The Lyapunov exponent is then

L=−dn/dt≈−(n _(final) −n _(initial))/t=m(t)/t,  (15)

where t is the elapsed time in a continuous system or the number of iterations in a discrete map. The derivative dn/dt is found to be a constant so that it can be replaced by m/t.

More generally, m should be found from

$m = {\log {\frac{ɛ_{j}}{ɛ_{o}}}}$

For example, if the error is 1% and W_(s)=8, then log |0.01·10⁸|=6. That is, six decimal digits are lost. Equations 15 and 16 lead to

$\begin{matrix} {{{L(t)} = {\frac{\ln (10)}{t}\left( {W_{s} + {\log \; \varphi}} \right)}},} & (17) \end{matrix}$

where W_(s), is written as a decimal number. The units of the Lyapunov exponent are digits lost per time step. Because Equation 5 is expressed as a natural exponential function, the base of the digits is natural, base e. We write m in any base b by expressing the error growth (Equation 5) as ε_(j)=ε_(o)b^(Lj). The natural base is used in order to compare the results with those of previous publications.

The time evolution might be the successive iterations of a map, the successive time steps of a system of differential equations, the successive terms of a recursion relation, the successive partial sums of a series or any function of time, f(t), including quantum mechanical functions. X_(s)(t) and X_(d)(t) can also be two repeated runs of an experiment if enough significant digits are initially available. Here-to-fore, these systems could only be evaluated as time series, and hundreds or thousands of points were needed to compute the Lyapunov exponent. The present lost digits technique can be applied to as few as about 50 iterations.

The lost digits algorithm is straightforward. The system is integrated or iterated until most of the digits of X_(s) and X_(d) disagree. For example. the system is evolved until an error threshold

ε>0.01X _(d)  (18)

is reached. This arbitrary criterion can be referred to as the lost digits stopping point. Equations 17 and 18 represent the lost digits technique. An algorithm for calculating the Lyapunov exponents using this method and any currently existing computer code is discussed at the end of this section. The choice of 0.01 for this fractional error is arbitrary and may be replaced by any other suitable fraction. When ε is allowed to grow to involve the most significant digits, then the widths of the local exponent distributions become smaller, the width going to zero as W_(s)→∞. Notice also that the error can never become infinite. If desired, W_(s), can be replaced by −log ε_(o), and Equation 17 leads to

L(t)=[−ln(ε₀)+ln(φ)]/t.  (19)

It should be noted that the information content of a particular decimal digit is not 100% lost until the error has grown to reach the next larger decimal digit. When ε>0.01X_(d) then the second most significant decimal digits of X_(s) and X_(d) begin to disagree and the third most significant decimal digits fully disagree. This is the meaning of the fractional value of log (ε) and is the reason that the initial error to be 10^(−(Ws+1)) is chosen.

With ε_(i)=|X_(d)(t)−X_(s)(t)|_(i) Equation 7 becomes

$\begin{matrix} {{{L(t)} = {\frac{1}{t}\ln \left\{ {\prod\limits_{i = 1}^{t}\; \frac{\left\lbrack {{X_{d}(t)} - {X_{s}(t)}} \right\rbrack_{i}}{\left\lbrack {{X_{d}(t)} - {X_{s}(t)}} \right\rbrack_{i - 1}}} \right\}}},} & (20) \end{matrix}$

where t is the number of iterations in a discrete map or the elapsed time in a differential equation. Equations 5, 19, or 20 can be used in place of Equation 17 in the lost digits technique. The product is initialized to 1 and then continually multiplied by ε_(i)/ε_(i−1) until the stopping point is reached. No significant difference has been seen between calculations using Equations 5, 17, 19, or 20. That is, they are within the existing noise.

An algorithm to calculate the Lyapunov exponents may be set up as follows. Initially X_(d)=X_(s) and X_(s) equals some value. The system is propagated in time in both single- and double-precision. The difference between the single- and double-precision results are calculated: ε=|X_(d)(t)−X_(s)(t)|. If ε>0.01X_(d), then L can be calculated from Equations 5, 7, 8, 17, 19, or 20. This algorithm can be incorporated into any currently existing computer code with only a couple additional lines. This algorithm has been tested in map systems and liquid flow systems and compared with published values. In all cases the results using this simple algorithm are in agreement with accepted values. Several examples are illustrated, but some others are also applicable, such as:

1) the logistic equation in an intermittency regime near a tangent bifurcation (e.g., slightly below the period-3-window at parameter r=1+√{square root over (8)});

2) highly nonlinear one-dimensional maps, e.g. the tenth iteration of the logistic equation g(x)=f¹⁰(x)≡f^(o)f⁹(x).

Q-Dimensional Systems

In the case of a q-dimensional system, whether the equations are discrete maps or continuous flows, we have X^((i))(i=1 . . . q) for each of the single and double precision trajectories. Analogous to Equation 1,

X _(j) ^((i)) =f _(i)(X _(j−1) ⁽¹⁾ , . . . ,X _(j−1) ^((q))),  (21)

and the differential errors grow in time according to

$\begin{matrix} {\begin{bmatrix} {dX}_{j}^{(1)} \\ M \\ {dX}_{j}^{(q)} \end{bmatrix} = {{\begin{bmatrix} {{\partial f_{1}}/{\partial X^{(1)}}} & L & {{\partial f_{1}}/{\partial X^{(q)}}} \\ M & O & M \\ {{\partial f_{q}}/{\partial X^{(1)}}} & L & {{\partial f_{q}}/{\partial X^{(q)}}} \end{bmatrix}\begin{bmatrix} {dX}_{j - 1}^{(1)} \\ M \\ {dX}_{j - 1}^{(q)} \end{bmatrix}}.}} & (22) \end{matrix}$

We have found that an error in any of the q coordinates increases the error in all the other coordinates, e.g., dX_(j) ⁽¹⁾ is a result of all dX_(j−1) ^((i)). In fact, there is an equal rate of growth in the errors in all coordinates. This means that the maximal Lyapunov exponent can be calculated from any of the q coordinates. These error magnifications are the ratios of the successive differentials

dX _(j) ^((i)) /dX _(j−1) ^((i)).  (23)

The maximal Lyapunov exponent is then (as in Equation 8)

$\begin{matrix} {{{L(t)} = {\frac{1}{t}{\ln \left( {\prod\limits_{j = 1}^{t}\frac{X_{j}^{(i)}}{X_{j - 1}^{(i)}}} \right)}}},} & (24) \end{matrix}$

independent of index i. This can be replaced by (see Equation 9)

$\begin{matrix} {{L(t)} = {\frac{1}{t}{{\ln \left( \frac{X_{t}^{i}}{X_{o}^{i}} \right)}.}}} & (25) \end{matrix}$

Analogous to the one-dimensional case, Equation 6, the jth error is due to the product of the q local slopes and the previous error, i.e.,

$\begin{matrix} {\frac{X_{j}^{(i)}}{X_{j - 1}^{(i)}} = \frac{\sum\limits_{i}{{{{\partial g_{i}}/{\partial X^{(i)}}}}{X_{j}^{(i)}}}}{\sum\limits_{i}{{{{\partial g_{i}}/{\partial X^{(i)}}}}{X_{j - 1}^{(i)}}}}} & (26) \end{matrix}$

where g f (t−1). This ratio of successive differentials can be calculated numerically with the partial derivatives written in terms of the coordinates (at the jth step for the numerator and the (j−1)th step for the denominator) and the errors taken as dX_(j) ^((i))=ε_(j) ^((i))=|X_(j,s) ^((i))−X_(j,d) ^((i))|, where X_(j,s) ^((i)) is X_(j) ^((i)) calculated using single-precision and X_(j,d) ^((i))is X_(j) ^((i)) calculated using double-precision. The situation does not exist where dX_(j) ^((i)) continually grows while dX_(j) ^((k)) continually shrinks because the accumulated error indicated by either dX_(j) ^((i)) or dX_(j) ^((k)) is due to the sum of the errors in all dX_(j−1) ^((i)). In fact, the rate of growth of the errors is independent of the coordinate i, so the maximal Lyapunov exponent can be determined from any of the ε_(j) ^((i)).

Equations 24 and 26 can be combined to calculate the maximal Lyapunov exponent

$\begin{matrix} {{L(t)} = {\frac{1}{t}{\ln \left\lbrack \frac{\sum\limits_{i}{{{{\partial f_{i}}/{\partial X^{(i)}}}}{X_{t}^{(i)}}}}{\sum\limits_{i}{{{{\partial f_{i}}/{\partial X^{(i)}}}}{X_{o}^{(i)}}}} \right\rbrack}}} & (27) \end{matrix}$

or

$\begin{matrix} {{L(t)} = {\frac{1}{t}{{\ln \left\lbrack {\prod\limits_{j = 1}^{t}\; \frac{\sum\limits_{i}{{{{\partial f_{i}}/{\partial X^{i}}}}{X_{j}^{i}}}}{\sum\limits_{i}{{{{\partial f_{i}}/{\partial X^{i}}}}{X_{j - 1}^{(i)}}}}} \right\rbrack}.}}} & (28) \end{matrix}$

This is a new formula which produces results indistinguishable from those obtained using Equations 5, 17, 19, or 20. The new q-dimensional form of Equation 2 is

$\begin{matrix} {{X_{j}^{(i)}} = {{{X_{o}^{(i)}}{\prod\limits_{i = 1}^{j}\; \frac{\sum\limits_{i}{{{{\partial f_{i}}/{\partial X^{(i)}}}}{X_{j}^{(i)}}}}{\sum\limits_{i}{{{{\partial f_{i}}/{\partial X^{(i)}}}}{X_{j - 1}^{(i)}}}}}} \equiv {{X_{o}}{e^{Lj}.}}}} & (29) \end{matrix}$

Finally, it should be noted that this technique is computationally advantageous to previous techniques using Runge-Kutta algorithms, e.g. the Bennetin and Wolf algorithms. Although the present technique requires calculating two distinct trajectories using single- and double-precision, the previous techniques require one trajectory in double precision plus an associated system of q² dimensions stemming from the Jacobian of the system. The Runge-Kutta and Gramm-Schmidt procedures require a great deal of additional calculations. In addition, the error in these other techniques is not 10^(−Ws), but set to unit magnitude.

Results

Equation 17 or 20 provides a procedure for the direct measurement of Lyapunov exponents. The system is run twice from identical initial conditions for a certain elapsed time and then the difference between the two runs is calculated throughout the elapsed time. Another usually more expensive approach is to build two exact copies of the system, run them simultaneously and compare them through time. For instance, X_(s)(t) and X_(d)(t) are replaced by X₁(t) and X₂(t), where X₁(t) and X₂(t) are either the two runs of the system or the two copies of the system. At t=0 the two runs agree to several significant digits. If the system is chaotic then the number of digits that agree in X₁(t) and X₂(t) decreases linearly in time.

Implementation Details

In applying the lost digits technique according to the invention, the following considerations should be taken into account. First, more choices than merely single- and double-precision may be used. With more than two levels of precision, the two most precise precision levels should be used. For example, 16 and 20 digit variables have been compared to obtain those results. Second, because the maximum magnitude of an error depends on its position within the trajectory, it is better to set the stopping criteria to a floating fractional error than to a constant error magnitude. Third, it is best to iterate or integrate until most of the digits of X_(s) and X_(d) have come to disagree, e.g. a fractional error of 0.01 is used in the calculations herein. Fourth, in a modulus map the difference might be determined before performing the modulus. Sometimes one precision falls below the cutoff while the other falls above it. Fifth, a large elapsed time or number of iterations is necessary to determine a small positive Lyapunov exponent, L. For this reason, a maximum elapsed time should normally be set in the program. Sixth, negative exponents can be calculated by starting two solutions with a small difference, 1% for example, and then watching an increase in the number of agreeing digits. And seventh, it is well known that the computed trajectories must be found to be independent of the numerical integration step size.

The lost digits Lyapunov exponent is not due to a single iteration or integration time step, or an infinite number of them, but is instead due to a small number of time steps. For the lost digits approach, about 50 to 100 iterations are needed (for W_(s)=16) to determine a good approximation to the global exponent in the logistic map, compared to about 10,000 iterations which are used in the conventional infinite sum formula for the global exponent of a map (Equation 4). The Lyapunov exponent can be calculated from the product of the 50 or so error magnifications that the trajectory encounters. For the Lorenz equations (with W_(s)=16) the lost-digits technique as described herein determines an exponent after every ten-second trajectory segment. For this reason, the lost digit approach can be said to produce only regional exponents. The lost digits technique typically produces a global exponent only for the case W_(s)∞.

Logistic Map

For reference, an example of a period-3 window of a logistic map is shown in FIG. 1. The power of this lost-digits technique is demonstrated by calculating a few iterations of the logistic map, X_(j+1)=rX_(j)(1−X_(j)). We consider r=3.853, W_(s)=16, and initially set X_(s)(t=0)=X_(d)(t=0)=X_(o)=0.65. The system is iterated until the stopping point is reached. The next experiment is reinitialized by setting X_(s)(t)=X_(d)(t) and the process is repeated. In this region of the map (r=3.853), the iterations typically move from band A to band B to band C and then back to band A.

TABLE 1 Band X Width f (X) Slope A X ∈ 0.132 to 0.165 0.033 f (X) ∈ 0.451 to 0.528 >1 B X ∈ 0.451 to 0.528 0.077 f (X) ∈ 0.957 to 0.968 <1 C X ∈ 0.957 to 0.968 0.011 f (X) ∈ 0.132 to 0.165 >1 For bands A, B and C, the local slopes are always >1, <1, and >1, respectively. Therefore, the error grows for two iterations and then shrinks once when the iteration lands in the central band. The error shrinks when the iteration lands in the central band because the slope is less than one at this location. Therefore, the lost digits stopping point can never be reached when the iteration lands on this central band. The initial value X_(o) usually is not located on any of the three bands. The iteration lands on the central band at the kth iteration. The band revisits every third iteration k+3j, where j=1, 2, 3 . . . . In addition, the lost digits stopping point is usually reached after the second successive error growth iteration out of the grow-grow-shrink pattern, so that the stopping point occurs only in integer multiples of three iterations That is, the elapsed time (the denominator in Equation 5) only contains the integers k+2+3j. This is shown in the histogram of iteration counts needed to reach the lost-digits stopping point (FIG. 2).

FIG. 3 shows the Lyapunov exponent calculated as a function of iteration count. The plot shows how the exponent asymptotically approaches a final value as the count increases. When the stopping point is reached, we reset X_(s)(t)=X_(d)(t) and repeat the process. FIG. 3 shows a sequence of three successive local exponent calculations for r=3.8353. The three successive decays shown required 170, 190, and 174 iterations before reaching their stopping points. Note especially the periodic structure in the noise of FIG. 3. The calculated error decreases when the iteration lands on the central band and increases when the iteration lands on the other two bands, and consequently the calculated Lyapunov exponent is smaller if the experiment is stopped when the iteration lands on the central band and is larger if the experiment is stopped on the other two bands. As the number of iterations increases, the amplitude of these oscillations dies down. This plot demonstrates that a meaningful exponent has not been computed until enough digits have been lost so that the exponent approximates its asymptotic value. This also means that the lost digits technique does not normally produce a single step local exponent. This result can also be reached if we consider the three bands in the case of Table 1. Since the error, Lyapunov exponent, grows on two bands and recedes on one band, the first iteration is usually unable to determine the value of the Lyapunov exponent or even the correct sign.

FIG. 4 is a plot of the Lyapunov exponent for the logistic map. Each trajectory has its own exponent and the noise is produced by the natural variation of the local exponents. This plot is noisy but rapidly produced. If desired, the noise can be reduced by averaging. The averaging of exponents has been performed in three different ways:

1) averaging iterations over precisions;

2) averaging over k initial conditions, i.e., setting X_(s)=X_(d)=X_(o,i) and iterating until m digits disagree, calculating L, then resetting X_(s)=X_(d)=X_(o,i+1), where i=1 . . . k, for a set of k initial values (taking the k initial values randomly or by distributing the X_(o,i) uniformly throughout the available space); and

3) averaging through time, that is, starting X_(s)=X_(d)=X_(o), and then after m digits disagree resetting X_(s)=X_(d) (in this case the new X_(s) is already in the attractor region) and repeating the process k times. The average maximal exponents are insensitive to the averaging process.

Each trajectory produces a local Lyapunov exponent. Recently, interest has grown in distributions of local Lyapunov exponents. These exponents reveal the variation of the local error exponential growth rate throughout the system trajectory. A plot of the distributions of local exponents for the parameters of FIG. 2 is shown in FIG. 5. The parameter values in FIG. 5 were chosen near the end of a periodic window where oscillations appear in the distribution (solid line). These oscillations are a result of the stopping point criterion never being satisfied on bands B or C. The oscillations can be removed by iterating a randomly selected number of times (i=1, 2, or 3) after the stopping point is reached or by terminating the experiment after a set amount of time or number of iterations, but not so few that the asymptotic value has not been reached, nor so many that the fractional error exceeds unity. FIG. 5 also shows the distribution (dashed line) when the method of terminating the experiment is chosen. In this case, the map is in a restricted error region as defined below. Note that most Lyapunov distributions are smooth and do not contain these oscillations. Although the artifact is easily removed from the distribution, it is of interest because it indicates that the map is in an interesting or unusual region.

Restricted Error Regions

Consider a one-dimensional map X_(j+1)=f(X_(j), r), with parameter r. The range of the iteration is X_(min)(r, t)≦X_(j)(r, t)≦X_(max)(r, t). At a particular chaotic parameter value r_(h) the range of X is restricted to a smaller segment composed of a set of separate, disjoint regions numbered i=1 to k. These k regions, or bands, restrict the iterations to the values, X_(i,min)≦X_(j)(r_(h), t)≦X_(i,max). If the iteration moves through time in a permanent pattern from the first region to the second region . . . to the kth region then back to the first region, for all time, then the iterations X_(j) are always known to within a maximum error equal to the width of the largest region. When the Lyapunov exponent is positive for a particular range of r values, but at least one valid digit is retained in the computed trajectory, then we refer to that parameter region as a restricted error region. When at least one digit is always known, then the trajectory is not 100% uncertain. A physical system is always limited to a finite phase space. These restricted error regions always occur near the ends of periodic windows where the system is returning to chaos. These regions are readily apparent in the bifurcation diagrams and Lyapunov exponent plots of published systems. They become smaller in higher period windows, which increases the number of digits that remain valid. These bands have been investigated in the past by Lorenz. The edges of the regions have been extensively studied as crisis points. The scaling properties of the windows are known. Gade and Amritkar developed time-dependent generalized exponents that measure the loss of memory with time in a chaotic time series. These references report an example for the logistic map, at the chaotic parameter value r=3.59687 (L>0 at this point) where the memory is not completely lost. This is a two band region of the logistic map. It was noted in these references that the iterations hop between the two bands in a permanently set pattern. The restricted error regions are most easily found when maximum errors, rather than local errors, are monitored and can be located by setting the stopping point to be a small constant as discussed above.

We consider a period p window which begins at r=r_(a), where

f ^(p)(X,r _(a))=X  (30)

The window contains its own transition back to chaos: there is a sequence of period doublings followed by the emergence of a set of k restricted coordinate sections at r=r∞. The periodic window is then seen to abruptly end at r=r_(c). The restricted error region covers the segment r_(∞)≦r≦r_(c). This can be seen in the logistic map of FIG. 1. It is known that r_(c) occurs at the r value where pairs of super cycles match in value. The super cycles are the first few iterations obtained from setting the initial value to X_(o)=X_(c), where X_(c) is determined from df(X_(c))/dX=0. The point r_(c) is then found from

f ^(N+p)(X _(c) ,r _(c))=f ^(N+2p)(X _(c) ,r _(c)).  (31)

We consider the point r_(b) between r_(a) and r_(c) where certain pairs of super cycles also have the same slope, that is,

f ^((N+p)′)(X _(c) ,r _(b))=f ^((N+2p)′)(X _(c) ,r _(b)),  (32)

where the prime (′) indicates differentiation with respect to r and N=1 . . . p. This is illustrated in FIG. 6, which shows super cycles 4 and 7 for the logistic map. It can be seen that the two super cycles have equal slope and value, then have equal slope but unequal values (r_(b)), and then later have equal values but unequal slopes (r_(c)).

For example, the period-3 window of the logistic map (with X_(c)=0.5) begins at the point f³(X)=X, or r_(a)=1+√{square root over (8)}≈828427125 (see FIG. 1) and ends at the point where the super cycles have the same value, that is f^(N+p)(X_(c),r_(c)), =f^(N+2p)(X_(c),r_(c)), where p=3, and N=1 . . . p. The pair f⁷(X_(c), r_(c))=f⁴(X_(c), r_(c)) gives r_(c)=3.856800696. Point r_(b) is given by f⁴′(X_(c), r_(b))=f⁷′(X_(c), r_(b)). The average r_(b) for the (4, 7) and (5, 8) and (6, 9) pairs is r_(b)=3.85064. The r_(∞) value for the period-3 window is r_(∞)˜3.84950. It can be found in this and numerous other calculations that r_(b)˜r_(∞). This result is useful, since the r_(∞) value is much more difficult to determine than the equal slope condition.

Two-Dimensional Map

We consider the maximal Lyapunov exponent for a two-dimensional map taken from Sagdeev:

$\begin{matrix} {\begin{bmatrix} X_{j + 1} \\ Y_{j + 1} \end{bmatrix} = {\begin{bmatrix} {r + 11} \\ {r\mspace{20mu} 1} \end{bmatrix}\begin{bmatrix} X_{j} \\ Y_{j} \end{bmatrix}}} & (33) \end{matrix}$

The Lyapunov exponents are the natural logs of the eigenvalues of the Jacobian matrix for the map and are given by the following equation:

L±=ln {1+r/2±[(1+r/2)²−1]^(1/2)}.  (34)

FIG. 7 shows the Lyapunov exponents using the lost-digits technique (solid line) and the analytic solution (dashed line) for the largest Lyapunov exponent for this map. The lost-digits technique is able to quickly reproduce the results of Equation 34.

The Lorenz equations are

dx/dt=−ax+ay  (35)

dy/dt=cx−y−xz  (36)

dz/dt=xy−bz  (37)

where a=10, b=8/3, and the parameter c is varied from 170 to 215. The lost digits Lyapunov exponents are computed by comparing 16 and 20, for example, significant-digit solutions with a stopping point given by Equation 18. The lost digits exponent is averaged over 9 initial conditions using a constant Runge-Kutta step size of 0.02 and integrated for a maximum of 100,000 time steps, so that a tiny positive exponent could be found if it occurred. The results shown in FIG. 8 are virtually identical to the traditional Lyapunov exponent method results shown in the plots given in the Schuster reference (page 116) and Froyland. The largest exponents found in this plot are L=2.5 natural digits per second (this is about 1 decimal digit per second). This means that 12 decimal digits are lost in about 12 seconds (600 Runge-Kutta time steps). The system completes about two orbits per second when c=190. If a variable time step procedure is used then normally the higher precision calculation should change the step size. The single-precision calculation typically uses the time step, which has been determined by the double-precision procedure so that the two precisions stay together in time.

For the continuous Lorenz equations at c=190 the distribution is shown in FIG. 9. The distributions can show multiple peaks for chaotic parameter values near the ends of the periodic windows. For example, at c=182.57, with dt=0.02, the distribution contains 3 peaks. This indicates that the trajectory alternates between three exponents (as can be seen visually in a real time plot), or that the computed trajectory is alternating between three actual trajectories. However, the 3 peaks become a single peak for dt=0.002. This illustrates another effect of a Runge-Kutta time step that is too large. FIG. 10 shows the distribution, with dt=0.02, for c=133.278. In this case, however, the 2 peaks remain when the time step is reduced to dt=0.00002. This case is located near the end of a periodic window. It indicates that liquid flow systems may also display interesting behavior similar to that of the restricted error regions of the one-dimensional maps.

The number of valid digits is a direct measure of the information that is known about a system. This fact can be used to provide several methods of determining Lyapunov exponents. Maximal Lyapunov exponents are determined by the time rate of change of the number of valid digits in the system's trajectory and can be computed by combining the stopping point given by Equation 18 with either of Equations 5, 17, 19, or 20. For a flow system, the stopping point can also be combined with Equation 23, 25, or 26. The Lyapunov exponent can be experimentally measured by comparing two separate runs of a system, and applying Equations 17 and 18. This method allows Lyapunov exponents to be calculated in less than one-tenth of the computational time required by traditional methods. Furthermore, the same algorithm is applied to maps, systems of differential equations, or any numerical time evolution procedure. A new technique involving the products of the ratios of successive differential is also used to find maximal exponents in systems of differential equations. The power of this algorithm is demonstrated by providing Lyapunov exponent plots and local Lyapunov exponent distributions for the logistic map, a two-dimensional map, and the Lorenz equations. Restricted-error regions are discussed where L>0, but the error's magnitude is restricted to a fraction of the size of the available phase space.

The distribution of local Lyapunov exponents explains the noise seen in maximal Lyapunov exponent plots. A distribution of local exponents occurs because the error growth rate of any segment of a trajectory is due to the product of local slopes which are encountered by that segment. The variation in local exponents is simply a factor of the variation in local slopes. An oscillation in the distribution indicates that some interesting feature of the trajectory is causing certain integer counts to be absent from the lost-digits stopping time. Finally, the magnitude of the system's error is found to be specially restricted near the end of periodic windows, even though L>0 in these regions.

FIG. 11 depicts a high level block diagram of a general purpose computer suitable for use in performing the functions described above as well as claimed below. As depicted in FIG. 11, the system 200 includes a processor element 202 (e.g., a CPU) for controlling the overall function of the system 200. Processor 202 operates in accordance with stored computer program code, which is stored in memory 204. Memory 204 represents any type of computer readable medium and may include, for example, RAM, ROM, optical disk, magnetic disk, or a combination of these media. The processor 202 executes the computer program code in memory 204 in order to control the functioning of the system 200. Processor 202 is also connected to network interface 205, which transmits and receives network data packets. Also included are various input/output devices 206 (e.g., storage devices, including but not limited to, a tape drive, a floppy drive, a hard disk drive or compact disk drive, a receiver, a transmitter, a speaker, a display, a speech synthesizer, an output port, and a user input device (such as a keyboard, a keypad, a mouse and the like)). Given the present detailed description of the invention, one of skill in the art could readily implement the invention using programmed digital computers. Of course, the actual implementation of the system in accordance with invention could also include other components not illustrated in FIG. 11. For clarity, such other components are not shown in FIG. 11.

REFERENCES CITED

The following references are hereby incorporated by reference herein.

-   A. M. Liapunov, Ann. Math. Studies 17, 1947 (1907). -   H. G. Schuster, Deterministic Chaos, An Introduction, Second Revised     Edition, (VCH, Weinheim Germany, 1988), p. 116. -   G. Benettin, L. Galgani, and J. M. Strelcyn, Phys. Rev. A14, 2338     (1976). -   A. Wolf, J. B. Swift, H. L. Swinney, and J. A. Vastano, Physica 16D,     285 (1985). -   J. Froyland, and H. Alfsen, Phys. Rev. A29, 2928 (1984). -   E. N. Lorenz, Physica D 35, 299 (1989). -   E. N. Lorenz, Noisy periodicity and reverse bifurcation Nonlinear     Dynamics, edited by R. H. G. Helleman. (New York Academy of     Sciences: New York, 1980). -   P. M. Gade, and R. E. Amritkar Phys. Rev. Lett. 65, 389 (1990). -   P. M. Gade, and R. E. Amritkar Phys. Rev. A 45, 725 (1992). -   E. N. Lorenz, J. Atmos. Sci. 20, 130 (1963). -   R. Z. Sagdeev, D. A. Usikov, G. M. Zaslaysky, Nonlinear Physics,     From the Pendulum to Turbulence and Chaos, (Harwood Academic     Publishers, Chur, 1988), p. 166.

Other devices, systems, methods, features and/or advantages will become apparent to one with skill in the art upon examination of the drawings and detailed description. It is intended that all such additional devices, systems, methods, features and/or advantages be included within this description. 

1. A prediction system for predicting the outcome of a chaotic system, the prediction system comprising: means for varying the initial conditions of a chaotic system; means for calculating a plurality of possible trajectories for the chaotic system; means for calculating a Lyapunov exponent for each of the plurality of possible trajectories; and means for selecting the trajectory with the smallest Lyapunov exponent as the most likely trajectory to occur.
 2. The prediction system of claim 1, wherein the means for calculating a plurality of possible trajectories comprises means for utilizing a range of values based on predefined uncertainty factors.
 3. The prediction system of claim 1, wherein the means for calculating the Lyapunov exponent calculates the equation: ${L(t)} = {\frac{1}{t}{\ln \left\lbrack {\prod\limits_{j = 1}^{t}\; \frac{\sum\limits_{i}{{{{\partial f_{i}}/{\partial X^{i}}}}{X_{j}^{i}}}}{\sum\limits_{i}{{{{\partial f_{i}}/{\partial X^{i}}}}{X_{j - 1}^{(i)}}}}} \right\rbrack}}$ wherein: f is a series of time-dependent differential equations describing a chaotic system, X is an independent variable, i and j are indexes, and t is time.
 4. A method of predicting the likelihood of an outcome in a chaotic system, the method comprising: varying initial conditions of a model of a chaotic system; calculating multiple trajectories of the chaotic system model based on a number of uncertainty factors; calculating a Lyapunov exponent for each of the multiple trajectories; and comparing the Lyapunov exponents from each of the multiple trajectories to determine the trajectory with the smallest Lyapunov exponent, whereby the trajectory with the smallest Lyapunov exponent is indicative of the likelihood of the outcome of the chaotic system.
 5. The method of claim 4, wherein the chaotic system is a weather forecast map.
 6. The method of claim 4, wherein the chaotic system is a weather forecast map wherein varying the initial conditions comprises varying the initial temperatures and pressures at various locations in the model of the weather forecast map.
 7. The method of claim 4, wherein the chaotic system is the stock market.
 8. The method of claim 4, wherein the chaotic system is a fluid flow map.
 9. The method of claim 4, wherein the chaotic system is a liquid flow map and the method further comprises predicting the flow of a liquid with respect to a structure.
 10. The method of claim 4, wherein the chaotic system is an air flow map and the method further comprises predicting the flow of air with respect to a structure.
 11. The method of claim 4, wherein the chaotic system is an air flow map and the method further comprises predicting the flow of air with respect to an airplane.
 12. The method of claim 4, wherein the chaotic system is a traffic pattern of vehicles on one or more roadways.
 13. The method of claim 4, wherein calculating the Lyapunov exponents involves calculating the ratios of successive differentials.
 14. The method of claim 4, wherein calculating the Lyapunov exponent comprises solving the equation: ${L(t)} = {\frac{1}{t}{\ln \left\lbrack {\prod\limits_{j = 1}^{t}\; \frac{\sum\limits_{i}{{{{\partial f_{i}}/{\partial X^{i}}}}{X_{j}^{i}}}}{\sum\limits_{i}{{{{\partial f_{i}}/{\partial X^{i}}}}{X_{j - 1}^{(i)}}}}} \right\rbrack}}$ wherein: f is a series of time-dependent differential equations describing a chaotic system, X is an independent variable, i and j are indexes, and t is time.
 15. A computer program stored on a computer readable medium for execution by a computer, the computer program comprising: logic configured to vary the initial conditions of a chaotic system; logic configured to calculate a plurality of possible trajectories for the chaotic system; logic configured to calculate a Lyapunov exponent for each of the plurality of possible trajectories to determine the trajectory with the smallest Lyapunov exponent; and logic configured to select the trajectory with the smallest Lyapunov exponent to represent a prediction of an outcome of the chaotic system.
 16. The computer program of claim 15, wherein the logic configured to calculate a plurality of possible trajectories comprises logic configured to utilize a range of values based on predefined uncertainty factors.
 17. The computer program of claim 15, wherein the logic configured to calculate the Lyapunov exponent solves the equation: ${L(t)} = {\frac{1}{t}{\ln \left\lbrack {\prod\limits_{j = 1}^{t}\; \frac{\sum\limits_{i}{{{{\partial f_{i}}/{\partial X^{i}}}}{X_{j}^{i}}}}{\sum\limits_{i}{{{{\partial f_{i}}/{\partial X^{i}}}}{X_{j - 1}^{(i)}}}}} \right\rbrack}}$ wherein: f is a series of time-dependent differential equations describing a chaotic system, X is an independent variable, i and j are indexes, and t is time. 